#ifndef __ParameterCollector_H__ 
#define __ParameterCollector_H__
#include <vector>
#include <string>
#include "DIVA_VM.h"
#include "LayoutParameter.h"

/************************************************************************/
/* wait for json encoder and decoder, just for tmep 					*/
/************************************************************************/

class ParameterCollector{
	typedef std::function< void () > Callback;

private:
	std::vector<LayoutParameter*> _parameterList;

public:
	void addParameter(std::string id, std::string name,std::string type, std::string value);
	void addParameter(std::string id, std::string name,std::string type, std::vector<std::string> str);
	void updateDefaultValue(std::string id,std::string str);
	void updateDefaultValue(std::string id,std::vector<std::string> str);
	void clearValue(std::string id);
	std::vector<LayoutParameter*> getParameterList();
	LayoutParameter*  getParameter(std::string id);
	std::string  getParameterValue(std::string id);
	std::vector<DIVA_VM*>  getParameterVM(std::string id);
	std::string getParameterJson();
	void setValue();
	void addEvent(std::string id,std::string event1,Callback callback);
	void addEvent(std::string fid,std::string tid,std::string eventType);

};
#endif


